import { createStore } from 'vuex'
import user from '@/store/modules/user'
import cart from '@/store/modules/cart'
// vuex数据的持久化
import createPersistedstate from 'vuex-persistedstate'
// 1. 存储在`localStorage`中
// 2. key是存储数据的键名
// 3. paths是存储state中的那些数据，如果是模块下具体的数据需要加上模块名称，如`user.token`
// 4. 修改state中的数据即可触发同步机制，可以看到本地存储数据的的变化
import category from '@/store/modules/category'

export default createStore({
  modules: {
    user,
    cart,
    category
  },
  getters: {
    token (state) {
      return state.user.profile.token
    }
  },
  // vuex数据的持久化
  plugins: [
    createPersistedstate({
      key: 'erabbit-client-pc-store',
      paths: ['user', 'cart']
    })
  ]
})
